package com.sc.nft.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.DaoEcologyPointsWallet;
import com.sc.nft.entity.vo.AdminDaoEcologyPointsWalletLogPageVO;
import com.sc.nft.entity.vo.AdminDaoEcologyPointsWalletVO;
import com.sc.nft.enums.DaoEcologyPointsWalletLogTypeEnum;
import com.sc.nft.enums.EcologyPointsWalletEnum;
import org.springframework.transaction.annotation.Transactional;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * Dao生态积分钱包 服务类
 * </p>
 *
 * @author liGen
 * @since 2024-11-26
 */
public interface DaoEcologyPointsWalletService {

//    void editDaoPoints(Long daoId, Boolean isAdd, String amount, String remark);
//
//    void addAmount(Long daoId, BigDecimal amount, DaoEcologyPointsWalletLogTypeEnum type, String remark);
//
//    void subAllAmount(Long daoId, BigDecimal amount, DaoEcologyPointsWalletLogTypeEnum type, String remark);

    Page<AdminDaoEcologyPointsWalletVO> getPage(String daoName, Integer pageNo, Integer pageSize);

    Page<AdminDaoEcologyPointsWalletLogPageVO> adminDaoEcologyPointsWalletLogPage(Long daoId,Long walletId, DaoEcologyPointsWalletLogTypeEnum type, Date startTime, Date endTime, Integer pageNo, Integer pageSize);

    DaoEcologyPointsWallet getByDaoIdAndPointsId(Long daoId, Long pointsId);

    void editDaoPoints(Long daoId, Long pointId, String pointName, BigDecimal sumCount, DaoEcologyPointsWalletLogTypeEnum daoEcologyPointsWalletLogTypeEnum, String remark);

    boolean adjustAmount(Long daoId, Long pointId, String pointName , BigDecimal sumCount, DaoEcologyPointsWalletLogTypeEnum daoEcologyPointsWalletLogTypeEnum, String remark);

}
